home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 003 / db2ios.arc / DUPREC.SIG < prev    next >
Encoding:
Text File  |  1983-01-04  |  4.6 KB  |  158 lines

  1. * duprec.sig 08/18/83
  2. * this module displays duplicate records with the same last names
  3. * and gives enough information to evaluate them. Note if you
  4. * use the edit function the 'edited' information will appear in
  5. * the main file but will not appear on the duplicate record screen.
  6. * this is because we are saving what we see here to a temporary file
  7. * while we edit.
  8. SKIP -1
  9. STORE order TO order1
  10. STORE lname TO lname1
  11. STORE fname TO fname1
  12. STORE city TO city1
  13. STORE zip TO zip1
  14. STORE vol1 TO vol11
  15. IF *
  16.     STORE 'Deleted' TO deleted1
  17. ELSE
  18.     STORE '       ' TO deleted1
  19. ENDIF *
  20. SKIP
  21. STORE order TO order2
  22. STORE lname TO lname2
  23. STORE fname TO fname2
  24. STORE city TO city2
  25. STORE zip TO zip2
  26. STORE vol1 TO vol12
  27. IF *
  28.     STORE 'Deleted' TO deleted2
  29. ELSE
  30.     STORE '       ' TO deleted2
  31. ENDIF *
  32. STORE t TO more
  33. DO WHILE more
  34.     * set up the screen format and variables
  35.     ERASE
  36.     STORE '<C>ontinue, <D>elete/Recall, <E>dit, <P>rint, <Q>uit' TO prompt
  37.     STORE 'Records with duplicate last names' TO mode
  38.     STORE '?' TO command
  39.     STORE '?' TO record
  40.     * show both records and find out what to do next
  41.     @ 01,27 SAY mode
  42.     @ 02,00 SAY '+--------------------'
  43.     @ 02,20 SAY '---------------------'
  44.     @ 02,40 SAY '---------------------'
  45.     @ 02,60 SAY '-------------------+'
  46.     @ 03,00 SAY 'Lastname: '
  47.     @ 03,12 SAY lname1
  48.     @ 03,40 SAY 'First: '
  49.     @ 03,49 SAY fname1
  50.     @ 05,00 SAY 'City: '
  51.     @ 05,20 SAY city1
  52.     @ 05,50 SAY 'Zip: '
  53.     @ 05,55 say zip1
  54.     @ 06,00 SAY 'Volumes:'
  55.     @ 06,10 SAY vol11
  56.     @ 08,00 SAY 'ORDER NUMBER: '
  57.     @ 08,17 SAY order1
  58.     @ 08,50 SAY deleted1
  59.     @ 09,00 SAY '+--------------------'
  60.     @ 09,20 SAY '---------------> > > '
  61.     @ 09,40 SAY 'RECORD-A < < <-------'
  62.     @ 09,60 SAY '-------------------+'
  63.     @ 11,00 SAY 'Lastname: '
  64.     @ 11,12 SAY lname2
  65.     @ 11,40 SAY 'First: '
  66.     @ 11,49 SAY fname2
  67.     @ 13,00 SAY 'City: '
  68.     @ 13,20 SAY city2
  69.     @ 13,50 SAY 'Zip: '
  70.     @ 13,55 SAY zip2
  71.     @ 14,00 SAY 'Volumes: '
  72.     @ 14,10 SAY vol12
  73.     @ 16,00 SAY 'ORDER NUMBER: '
  74.     @ 16,17 SAY order2
  75.     @ 16,50 SAY deleted2
  76.     @ 17,00 SAY '+--------------------'
  77.     @ 17,20 SAY '---------------> > > '
  78.     @ 17,40 SAY 'RECORD-B < < <-------'
  79.     @ 17,60 SAY '-------------------+'
  80.     @ 18,17 SAY prompt
  81.     @ 19,24 SAY 'What next?'
  82.     @ 19,35 GET command picture '!'
  83.     READ
  84.     * If Delete, Edit or Print - ask question
  85.     IF command = 'D' .OR. command = 'E' .OR. command = 'P'
  86.         * move up a line
  87.         ?? CHR(11)
  88.         ?? '                         Which Record ?'
  89.         SET CONSOLE OFF
  90.         WAIT TO record
  91.         SET CONSOLE on
  92.         STORE !(record) TO record
  93.         ?? record
  94.     ENDIF command = D
  95.     * move to the record to be processed
  96.     IF record = 'A'
  97.         SKIP -1
  98.     ENDIF record = a
  99.     *process the record
  100.     DO CASE
  101.         CASE command = 'C' .OR. command = 'Q'
  102.             * set up the loop to exit
  103.             STORE f to more
  104.         CASE command = 'D'
  105.             IF *
  106.                 RECALL
  107.             ELSE
  108.                 DELETE
  109.             ENDIF *
  110.             IF record = 'A'
  111.                 IF deleted1 = 'Deleted'
  112.                     STORE '       ' TO deleted1
  113.                 ELSE
  114.                     STORE 'Deleted' TO deleted1
  115.                 ENDIF deleted1
  116.             ENDIF record = A
  117.             IF record <> 'A'
  118.                 IF deleted2 = 'Deleted'
  119.                     STORE '       ' TO deleted2
  120.                 ELSE
  121.                     STORE 'Deleted' TO deleted2
  122.                 ENDIF deleted2
  123.             ENDIF record <> A
  124.         CASE command = 'E'
  125.             SAVE TO temp2
  126.             RELEASE ALL
  127.             RESTORE FROM temp1
  128.             * don't use indexs to speed up the edit
  129.             ? 'Hit RETURN to Continue'
  130.             SET CONSOLE OFF
  131.             RESTORE
  132.             STORE # TO rec:number
  133.             SET INDEX TO
  134.             IF rec:number = 0
  135.                 GOTO 1
  136.             ELSE
  137.                 GOTO rec:number
  138.             ENDIF rec:number = 0
  139.             SET CONSOLE ON
  140.             DO edit.sig
  141.             SAVE TO temp1
  142.             RELEASE ALL
  143.             RESTORE FROM temp2
  144.         CASE command = 'P'
  145.             DO print.sig
  146.     ENDCASE
  147.     * move back to the correct record
  148.     IF record = 'A'
  149.         SKIP
  150.     ENDIF record = A
  151.     * loop back again
  152. ENDDO while more
  153. * if more duplicates are to be found
  154. * set up the loop to continue in DUPCHECK.SIG
  155. IF command = 'C'
  156.     STORE t TO more
  157. ENDIF command = C
  158.